#pragma once

#include "WorkModeReceiverInterface.h"

class WorkModeReceiver
: public WorkModeReceiverInterface
{
	friend class Factory < WorkModeReceiverInterface >;
public:
	static WorkModeReceiverInterfacePtr Spawn ();
	static void CheckInnocence ();
private:
	WorkModeReceiver ();
	virtual void CreateNew ();
	virtual void OpenExisting ();
	virtual void ChangeDesignation ();
	virtual void MakeCopy ();
	virtual void Quit ();
	virtual void DeleteToTrashCan ();
	virtual void RestoreFromTrashCan ();
	virtual void ExtractFromPackage ();
	virtual void ImportFromFoxPro ();
	virtual void ImportFromOracle ();
private:
	static Factory < WorkModeReceiverInterface > factory;
};
